package api; import java.util.List; import java.util.Map; import javax.ws.rs.GET; import javax.ws.rs.Path; import javax.ws.rs.Produces; import javax.ws.rs.core.MediaType; import network.Peer; import org.json.simple.JSONArray; import org.json.simple.JSONObject; import controller.Controller; @Path("peers") @Produces(MediaType.APPLICATION_JSON) public class PeersResource { @SuppressWarnings("unchecked") @GET public String getPeers() { List<Peer> peers = Controller.getInstance().getActivePeers(); JSONArray array = new JSONArray(); for(Peer peer: peers) { array.add(peer.getAddress().getHostAddress()); } return array.toJSONString(); } @SuppressWarnings("unchecked") @GET @Path("height") public String getTest() { Map<Peer,Integer> peers = Controller.getInstance().getPeerHeights(); JSONArray array = new JSONArray(); for(Map.Entry<Peer, Integer> peer: peers.entrySet()) { JSONObject o = new JSONObject(); o.put("peer", peer.getKey().getAddress().getHostAddress()); o.put("height", peer.getValue()); array.add(o); } return array.toJSONString(); } }